$.fn.adaptive = function(w,h,cb){
	var ow = $(this).width();
	var oh = $(this).height();
	var adaptive = function(){
		var ow = $(this).width();
		var oh = $(this).height();
		if(ow > w || oh > h){
			if(ow/oh > w/h){
				$(this).width(w)
				.css('padding-top',(h - $(this).height())/2+'px')
				.css('padding-left','0');
			}else{
				$(this).height(h)
				.css('padding-left',(w - $(this).width())/2+'px')
				.css('padding-top','0');
			}
		}else{
			$(this).css('padding-top',(h - oh)/2+'px')
			.css('padding-left',(w - ow)/2+'px');
		}
		(cb||function(){})($(this),ow,oh);
		$(this).unbind('load', adaptive);
	};
	
	if(ow > 18 || oh > 20){
		adaptive($(this));
	}else{
		$(this).bind('load', adaptive);
	}
};